package com.test.demo.network

import okhttp3.Interceptor
import okhttp3.Request
import okhttp3.Response

/**
 * 作者　: Ajay
 * 时间　: 2020/11/21
 * 描述　: 设置在有网络的情况下的缓存时间
 *              在有网络的时候，会优先获取缓存
 * @param second 缓存时间 默认30秒
 */
class NetCacheInterceptor(var second: Int = 30) : Interceptor {
    override fun intercept(chain: Interceptor.Chain): Response {
        val request: Request = chain.request()
        val originalResponse = chain.proceed(request)
        return originalResponse.newBuilder()
            .removeHeader("Pragma") // 清除头信息，因为服务器如果不支持，会返回一些干扰信息，不清除下面无法生效
            .removeHeader("Cache-Control")
            .header("Cache-Control", "public, max-age=$second")
            .build()
    }
}